﻿namespace TestApp.Contracts
{
    using System.Runtime.Serialization;
    using JetBrains.Annotations;

    [DataContract]
    [KnownType(typeof(DataEntityDto))]
    [KnownType(typeof(AggregateEntityDto))]
    public abstract class EntityDto
    {
        public const int ParameterCount = 20;

        protected EntityDto()
        {
            Parameters = new double[ParameterCount];
        }

        [DataMember]
        [NotNull] public double[] Parameters { get; private set; }
    }
}
